#ifndef MDX2_CAMERA_H_
#define MDX2_CAMERA_H_

#include <cstdint>
#include "Vector3D.h"
#include "MDX2_Animation.h"

// Types
#define TYPE_PORTRAIT           0
#define TYPE_CHARACTER_INFO     1
#define TYPE_OTHER             -1

// Description: Definitions of cameras (used for special purposes
//              like portrait, character info, flyby etc.).
//              They are indexed in the lookup table with the
//              key being the type.
// Count:  MDX2_Header->nCameras
// Offset: MDX2_Header->ofsCameras
// Lookup: CameraLookup
struct MDX2_Camera
{
    uint32_t Type;
    float FOV;
    float FarClipping;
    float NearClipping;
    MDX2_ABlock TranslationPos;
    Vec3F Position;
    MDX2_ABlock TranslationTar;
    Vec3F Target;
    MDX2_ABlock Scaling;
};

#endif // MDX2_CAMERA_H_